A multiprocessor scheduling method is conventionally known that shares load information among plural processors so that a processor having the least load executes a process. A multiprocessor system is also known that prepares management information indicating correspondence between functions provided by the operating system and processors executing the functions so that task processes are distributed to the processors based on the management information. A multiprocessor system is also known that provides information concerning a process from a processor handling execution of the process to processors that are to be requested to execute the process so as to determine a processor to execute the process based on the information. A multiprocessor scheduling method is also known that allocates tasks to the processors based on processor information previously specified in a program by the user.
For examples of such conventional technologies, refer to Japanese Laid-Open Patent Publication Nos. H5-189390, H6-139209, S64-13664, and S63-208154.
However, in the case where tasks are dynamically allocated to the processors to balance the load in the conventional multiprocessor system, each of the processors calculates load information and notifies the processor performing the task allocation of the load information by way of inter-processor communication. For this reason, overhead increases when performing dynamic task allocation and more time is required for allocating tasks, resulting disadvantageously in a reduction of the throughput in the multiprocessor system.